//  Copyright (C) 2014 Xiande (Triston) Cao

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifndef CVSIE_MESHNODE_HPP
#define CVSIE_MESHNODE_HPP

#include "cvsie_datatype.hpp"
#include "cvsie_point.hpp"

namespace cvsie {

  class CMeshNode {
    private:
      int id;
      Point *point;
    public:
      CMeshNode(int _id = -1, Point * _point = NULL);

    public:
      inline int GetId() const;
      inline void SetId(int _id);

      inline Point * GetPoint() const;
      inline void SetPoint(Point * point);
    public:
      cfloat GetDistanceToNode(const CMeshNode &node) const;
  };
}

#endif
